home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
IRIX Base Documentation 1998 November
/
IRIX 6.5.2 Base Documentation November 1998.img
/
usr
/
share
/
catman
/
p_man
/
cat3
/
libelfutil
/
xlate_get_info.z
/
xlate_get_info
Wrap
Text File
|
1998-10-30
|
11KB
|
198 lines
XXXXLLLLAAAATTTTEEEE____GGGGEEEETTTT____IIIINNNNFFFFOOOO((((3333EEEE)))) XXXXLLLLAAAATTTTEEEE____GGGGEEEETTTT____IIIINNNNFFFFOOOO((((3333EEEE))))
NNNNAAAAMMMMEEEE
_xxxx_llll_aaaa_tttt_eeee______gggg_eeee_tttt______iiii_nnnn_ffff_oooo - get recorded overall info
SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
_####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_eeee_llll_ffff_...._hhhh_>>>>
_####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_llll_iiii_bbbb_eeee_llll_ffff_...._hhhh_>>>>
_####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_dddd_wwww_aaaa_rrrr_ffff_...._hhhh_>>>>
_####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_llll_iiii_bbbb_dddd_wwww_aaaa_rrrr_ffff_...._hhhh_>>>>
_####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_cccc_mmmm_pppp_llll_rrrr_ssss_////_xxxx_llll_aaaa_tttt_eeee_...._hhhh_>>>>
_####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_llll_iiii_bbbb_XXXX_llll_aaaa_tttt_eeee_...._hhhh_>>>>
_iiii_nnnn_tttt _xxxx_llll_aaaa_tttt_eeee______gggg_eeee_tttt______iiii_nnnn_ffff_oooo_((((_xxxx_llll_aaaa_tttt_eeee______tttt_aaaa_bbbb_llll_eeee______cccc_oooo_nnnn _cccc_oooo_nnnn______tttt_aaaa_bbbb_llll_eeee______pppp_tttt_rrrr_,,,,
_EEEE_llll_ffff_6666_4444______SSSS_xxxx_wwww_oooo_rrrr_dddd _****_dddd_aaaa_tttt_aaaa______mmmm_oooo_vvvv_eeee_dddd_,,,,
_EEEE_llll_ffff_6666_4444______AAAA_dddd_dddd_rrrr _****_nnnn_eeee_wwww______llll_oooo_wwww______aaaa_dddd_dddd_rrrr_,,,,
_EEEE_llll_ffff_6666_4444______AAAA_dddd_dddd_rrrr _****_oooo_llll_dddd______llll_oooo_wwww______aaaa_dddd_dddd_rrrr_,,,,
_EEEE_llll_ffff_6666_4444______AAAA_dddd_dddd_rrrr _****_nnnn_eeee_wwww______hhhh_iiii_gggg_hhhh______aaaa_dddd_dddd_rrrr_,,,,
_EEEE_llll_ffff_6666_4444______AAAA_dddd_dddd_rrrr _****_oooo_llll_dddd______hhhh_iiii_gggg_hhhh______aaaa_dddd_dddd_rrrr_,,,,
_EEEE_llll_ffff_6666_4444______AAAA_dddd_dddd_rrrr _****_ssss_tttt_aaaa_rrrr_tttt_uuuu_pppp______ffff_wwww_aaaa_,,,,
_EEEE_llll_ffff_6666_4444______AAAA_dddd_dddd_rrrr _****_ssss_tttt_aaaa_rrrr_tttt_uuuu_pppp______llll_wwww_aaaa_,,,,
_EEEE_llll_ffff_6666_4444______XXXX_wwww_oooo_rrrr_dddd _****_nnnn_uuuu_mmmm_bbbb_eeee_rrrr______oooo_ffff______rrrr_aaaa_nnnn_gggg_eeee_ssss_,,,,
_iiii_nnnn_tttt _****_oooo_llll_dddd______tttt_eeee_xxxx_tttt______eeee_xxxx_iiii_ssss_tttt_ssss_,,,,
_iiii_nnnn_tttt _****_oooo_llll_dddd______tttt_eeee_xxxx_tttt______aaaa_llll_llll_oooo_cccc
_iiii_nnnn_tttt _****_iiii_ssss_6666_4444_bbbb_iiii_tttt
_xxxx_llll_aaaa_tttt_eeee______tttt_aaaa_bbbb_llll_eeee_kkkk_iiii_nnnn_dddd _****_tttt_aaaa_bbbb_llll_eeee_kkkk_iiii_nnnn_dddd
_iiii_nnnn_tttt _****_vvvv_eeee_rrrr_ssss_iiii_oooo_nnnn
_))))_;;;;
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
_x_l_a_t_e__g_e_t__i_n_f_o is used to get basic values from the _x_l_a_t_e section.
_c_o_n__t_a_b_l_e__p_t_r must be a valid open translate table handle. The other
arguments are pointers passed in and the pointers are used to put values
from the translation table header into the pointed-to data objects. See
<_c_m_p_l_r_s/_x_l_a_t_e._h> for the header field declarations. The memory that is
pointed to by the pointer is what is actually changed.
Other than _c_o_n__t_a_b_l_e__p_t_r any of the pointers passed in may be the null
pointer (0). _x_l_a_t_e__g_e_t__i_n_f_o notices each null pointer and does not
attempt to pass a value back thru a null pointer.
_d_a_t_a__m_o_v_e_d
is the number of bytes the data section was moved by a
translation tool (normally only pixie(1) moves data sections).
The value is not the amount the text was moved but the amount
that the data had moved above and beyond text movement. The
movement is important because _r_l_d(1) relies on the distance
between text and data being fixed. The movement is an important
fact in the translation process but the fact is not ordinarily
needed by consuming tools or applications.
_n_e_w__l_o_w__a_d_d_r
is set to the low pc address of the translated (runnable) text.
PPPPaaaaggggeeee 1111
XXXXLLLLAAAATTTTEEEE____GGGGEEEETTTT____IIIINNNNFFFFOOOO((((3333EEEE)))) XXXXLLLLAAAATTTTEEEE____GGGGEEEETTTT____IIIINNNNFFFFOOOO((((3333EEEE))))
_o_l_d__l_o_w__a_d_d_r
is set to the low pc address of the original (before translation)
text.
_n_e_w__h_i_g_h__a_d_d_r
is set to the high pc address (one past the last address
actually used) of the translated (runnable) text.
_o_l_d__h_i_g_h__a_d_d_r
is set to the high pc address (one past the last address
actually used) of the original (before translation) text.
_s_t_a_r_t_u_p__f_w_a
is set to the pc address (First Word Address) (in the translated
text) of special startup code introduced by a translation tool.
_p_i_x_i_e is currently the only tool creating such special startup
code.
_s_t_a_r_t_u_p__l_w_a
is set to the pc address (Last Word Address) (in the translated
text) of the end (actually one past the last address) of the
startup code introduced by a translation tool. _p_i_x_i_e is
currently the only tool creating such special startup code.
_n_u_m_b_e_r__o_f__r_a_n_g_e_s
is set to the number of ranges in the translation table.
_o_l_d__t_e_x_t__e_x_i_s_t_s
is set to 1 if the original (untranslated) text is present in the
executable or DSO. It is set to 0 if the original text is not
present. _c_o_r_d(1)ed DSOs often do not have the original text
present. _p_i_x_i_ed applications and DSOs usually do have the
original text present.
_o_l_d__t_e_x_t__a_l_l_o_c
is set to 1 if the original text is present and is marked to be
brought into memory automatically on program startup. Otherwise
_o_l_d__t_e_x_t__a_l_l_o_c is set to 0. This lets a consuming application
(such as a debugger) know what it has to do to find the relevant
original text image.
_i_s_6_4_b_i_t is set to 1 if the xlate file is marked as 64 bit (for a 64 bit
application).
_t_a_b_l_e_k_i_n_d
is set to one of _x_l_a_t_e__t_k__g_e_n_e_r_a_l, _x_l_a_t_e__t_k__p_r_e_s_e_r_v_e__s_i_z_e, or
_x_l_a_t_e__t_k__p_r_e_s_e_r_v_e__o_r_d_e_r.
_v_e_r_s_i_o_n is set to one of _X_L_A_T_E__T_B__M_A_I_N__V_1(1), _X_L_A_T_E__T_B__C_O_P_Y__V_1(2),
_X_L_A_T_E__T_B__D_E_B_U_G__V_1(3), _X_L_A_T_E__T_B__O_L_D__V_1(4), _X_L_A_T_E__T_B__3_2__V_2(5), or
_X_L_A_T_E__T_B__6_4__V_2(6).
PPPPaaaaggggeeee 2222
XXXXLLLLAAAATTTTEEEE____GGGGEEEETTTT____IIIINNNNFFFFOOOO((((3333EEEE)))) XXXXLLLLAAAATTTTEEEE____GGGGEEEETTTT____IIIINNNNFFFFOOOO((((3333EEEE))))
FFFFIIIILLLLEEEESSSS
/usr/include/libXlate.h
/usr/include/cmplrs/xlate.h
/usr/include/elf.h
/usr/include/dwarf.h
/usr/include/libdwarf.h
/usr/lib/libelfutil.a
DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
Returns XLATE_TB_STATUS_NO_ERROR (0) on success. In case of error, a
negative number is returned indicating the error. In case of error,
nothing is returned thru the pointer arguments which would return values
on successful call (values might have been changed thru these pointers
but any such changes are not meaningful).
_X_L_A_T_E__T_B__S_T_A_T_U_S__I_N_V_A_L_I_D__T_A_B_L_E
The initial bytes of the structure pointed to by
_c_o_n_s_u_m_e_r__t_a_b_l_e__p_t_r have been corrupted (indicating _m_a_l_l_o_c(3)
arena corruption) or the pointer is not pointing to a valid open
consumer table.
SSSSEEEEEEEE AAAALLLLSSSSOOOO
libelfutil(5), open(2), xlate(4), xlate_init_fd(3e), xlate_finish(3e),
xlate_pro_init(3e), xlate_pro_finish(3e), xlate_pro_add_info(3e),
xlate_address(3e)
PPPPaaaaggggeeee 3333